package com.eqxiu.ieditor.dao;


import com.eqxiu.ieditor.entity.Order;
import com.eqxiu.ieditor.entity.OrderExample;

import java.util.List;

public interface OrderMapper {
	/**
	 * 
	 * @description //统计订单数量
	 * @author ranger
	 * @date 6.20, 2017
	 * @modified
	 * @param example
	 * @return long
	 */
	long countByExample(OrderExample example);

	/**
	 * 
	 * @description //TODO 设计说明
	 * @author ranger
	 * @date Jul 25, 2017
	 * @modified by xxx 修改说明
	 * @param example
	 * @return
	 */
	long countCreateUserByExample(OrderExample example);

	/**
	 * 
	 * @description //TODO 设计说明
	 * @author ranger
	 * @date Jul 25, 2017
	 * @modified by xxx 修改说明
	 * @param example
	 * @return
	 */
	long sumTotalFeeByExample(OrderExample example);

	/**
	 * 
	 * @description //根据id删除订单
	 * @author ranger
	 * @date 6.20, 2017
	 * @modified
	 * @param id
	 * @return int
	 */
	int deleteByPrimaryKey(Long id);

	/**
	 * 
	 * @description //插入订单
	 * @author ranger
	 * @date 6.20, 2017
	 * @modified
	 * @param record
	 * @return int
	 */
	int insert(Order record);

	/**
	 * 
	 * @description //插入订单（会判断订单的属性是否为空，不会影响默认值）
	 * @author ranger
	 * @date 6.20, 2017
	 * @modified
	 * @param record
	 * @return int
	 */
	int insertSelective(Order record);

	/**
	 * 
	 * @description //查找所有满足条件的订单
	 * @author ranger
	 * @date 6.20, 2017
	 * @modified
	 * @param example
	 * @return List<Order>
	 */
	List<Order> selectByExample(OrderExample example);

	/**
	 * 
	 * @description //根据id查找订单
	 * @author ranger
	 * @date 6.20, 2017
	 * @modified
	 * @return List<Order>
	 */
	Order selectByPrimaryKey(Long id);

	/**
	 * 
	 * @description //更新订单(不影响未传入的属性值)
	 * @author ranger
	 * @date 6.20, 2017
	 * @modified
	 * @return int
	 */
	int updateByPrimaryKeySelective(Order record);

	/**
	 * 
	 * @description //更新订单(未传入的属性值会被覆盖)
	 * @author ranger
	 * @date 6.20, 2017
	 * @modified
	 * @return int
	 */
	int updateByPrimaryKey(Order record);

}